package cn.xiaomubiao.oschine.ui.dialog;

import android.app.Dialog;
import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;

import cn.xiaomubiao.oschine.R;

/**
 * 底部对话框的视图类
 */

public class DialogView {

    private Dialog mCameraDialog;
    private LinearLayout dialogView;
    private Context context;

    public DialogView(Context context){
        this.context = context;

    }

    // 获取对话框的view对象的方法
    public Dialog getDialogView(int layoutId){

        // 创建一个Dialog对象
        // 参数 1上下文 2对话框主题
        mCameraDialog = new Dialog(context, R.style.my_dialog);
        // 将对话框布局打气为view对象
        dialogView = (LinearLayout) LayoutInflater.from(context).inflate(
                layoutId, null);

        // 将布局对象设置给对话框对象进行显示
        mCameraDialog.setContentView(dialogView);

        // 初始化对话框的参数
        initDialogData();

        return mCameraDialog;

    }

    private void initDialogData() {
        // 构建一个window对象
        Window dialogWindow = mCameraDialog.getWindow();
        // 设置摆放位置
        dialogWindow.setGravity(Gravity.BOTTOM);
        // 设置对话框动画
        dialogWindow.setWindowAnimations(R.style.dialogstyle); // 添加动画

        // 获取对话框当前的参数值
        WindowManager.LayoutParams params = dialogWindow.getAttributes();
        params.x = 0; // 新位置X坐标
        params.y = -20; // 新位置Y坐标
        //params.width = (int) getResources().getDisplayMetrics().widthPixels; // 宽度
        params.width = context.getResources().getDisplayMetrics().widthPixels;

        // params.height = WindowManager.LayoutParams.WRAP_CONTENT; // 高度
        // params.alpha = 9f; // 透明度

        dialogView.measure(0, 0);
        params.height = dialogView.getMeasuredHeight();
        params.alpha = 9f; // 透明度

        // 将新的参数设置给对话框
        dialogWindow.setAttributes(params);

    }

    // 返回对话框布局的对象 供查找里面的布局
    public View getLayoutView(){

        return dialogView;
    }

}
